package com.le.tester.book.concurrentchallenge.threadpool8;

import java.util.Set;

/**
 * createTime：2025-04-16 10:06
 * description：谜题抽象类
 */
public interface Puzzle<P, M> {
    P initialPosition();

    boolean isGoal(P position);

    Set<M> legalMoves(P position);

    P move(P position, M move);
}
